package cn.ges.ali;

import java.util.Optional;

/**
 * @author gespent@163.com
 * @date 2019/5/8
 */
public class OssHelper {

    /**
     * 移除 oss前缀
     */
    public static String removeDomain(String path, String domain) {
        return Optional.ofNullable(path).map(temp -> {
            if (temp.startsWith(domain)) {
                return temp.substring(domain.length());
            }
            return null;
        }).orElse(null);
    }

    /**
     * 将temp类型的文件移动到指定的文件夹中
     *
     * @param url  带有域名的文件路径
     * @param path 移动后的路径 不含域名
     * @return 移动后的路径(不含域名) 或者null
     * @apiNote 当文件 域名不正确/不存在于temp 返回Null
     */
    public static String copyTemp(String url, String path, String domain) {
        return Optional.ofNullable(OssHelper.removeDomain(url, domain)).map(temp -> {
            if (temp.startsWith("/")) {
                temp = temp.substring(1);
            }

            if (OssUtil.isExist(temp)) {
                if (OssUtil.copyObj(temp, path)) {
                    return path;
                }
            }
            return null;
        }).orElse(null);
    }
}
